home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / verilog.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  7KB  |  222 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4.  
  5. <!-- Written By: Wojciech Stryjewski - thvortex@sourceforge.net -->
  6.  
  7. <MODE>
  8.     <PROPS>
  9.         <!-- Rules for indenting:
  10.            - Case expressions (a line ending with colon) are indented
  11.            - Keywords begin, module, task, etc. always indented
  12.            - Keywords if, while, etc. indent only if ; not on the same line
  13.         -->
  14.         <PROPERTY NAME="indentNextLines" VALUE="(.*:\s*)|(\s*(begin|fork|task|table|specify|primitive|module|generate|function|case[xz]?)\b.*)|(\s*(always|if|else|for|forever|initial|repeat|while)\b[^;]*)" />
  15.  
  16.         <PROPERTY NAME="commentStart" VALUE="/*" />
  17.         <PROPERTY NAME="commentEnd" VALUE="*/" />
  18.         <PROPERTY NAME="lineComment" VALUE="//" />
  19.         <PROPERTY NAME="noWordSep" VALUE="_'" />
  20.         <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
  21.     </PROPS>
  22.     <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE"
  23.         DIGIT_RE="([\p{Digit}]|_|[a-fA-F])+" NO_WORD_SEP="'">
  24.         <!-- Comments -->
  25.         <SPAN TYPE="COMMENT1">
  26.             <BEGIN>/*</BEGIN>
  27.             <END>*/</END>
  28.         </SPAN>
  29.         <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
  30.  
  31.         <!--String Literals -->
  32.         <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="FALSE">
  33.             <BEGIN>"</BEGIN>
  34.             <END>"</END>
  35.         </SPAN>
  36.  
  37.         <SEQ TYPE="DIGIT">'d</SEQ>
  38.         <SEQ TYPE="DIGIT">'h</SEQ>
  39.         <SEQ TYPE="DIGIT">'b</SEQ>
  40.         <SEQ TYPE="DIGIT">'o</SEQ>
  41.  
  42.         <!-- Function calls, module instantiation, system tasks with args -->
  43.         <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
  44.         <SEQ TYPE="OPERATOR">)</SEQ>
  45.  
  46.         <!-- Operators -->
  47.         <SEQ TYPE="OPERATOR">=</SEQ>
  48.         <SEQ TYPE="OPERATOR">!</SEQ>
  49.         <SEQ TYPE="OPERATOR">+</SEQ>
  50.         <SEQ TYPE="OPERATOR">-</SEQ>
  51.         <SEQ TYPE="OPERATOR">/</SEQ>
  52.         <SEQ TYPE="OPERATOR">*</SEQ>
  53.         <SEQ TYPE="OPERATOR">></SEQ>
  54.         <SEQ TYPE="OPERATOR"><</SEQ>
  55.         <SEQ TYPE="OPERATOR">%</SEQ>
  56.         <SEQ TYPE="OPERATOR">&</SEQ>
  57.         <SEQ TYPE="OPERATOR">|</SEQ>
  58.         <SEQ TYPE="OPERATOR">^</SEQ>
  59.         <SEQ TYPE="OPERATOR">~</SEQ>
  60.         <SEQ TYPE="OPERATOR">}</SEQ>
  61.         <SEQ TYPE="OPERATOR">{</SEQ>
  62.  
  63.         <KEYWORDS>
  64.             <!-- Regular Keywords -->
  65.             <KEYWORD1>always</KEYWORD1>
  66.             <KEYWORD1>assign</KEYWORD1>
  67.             <KEYWORD1>begin</KEYWORD1>
  68.             <KEYWORD1>case</KEYWORD1>
  69.             <KEYWORD1>casex</KEYWORD1>
  70.             <KEYWORD1>casez</KEYWORD1>
  71.             <KEYWORD1>default</KEYWORD1>
  72.             <KEYWORD1>deassign</KEYWORD1>
  73.             <KEYWORD1>disable</KEYWORD1>
  74.             <KEYWORD1>else</KEYWORD1>
  75.             <KEYWORD1>end</KEYWORD1>
  76.             <KEYWORD1>endcase</KEYWORD1>
  77.             <KEYWORD1>endfunction</KEYWORD1>
  78.             <KEYWORD1>endgenerate</KEYWORD1>
  79.             <KEYWORD1>endmodule</KEYWORD1>
  80.             <KEYWORD1>endprimitive</KEYWORD1>
  81.             <KEYWORD1>endspecify</KEYWORD1>
  82.             <KEYWORD1>endtable</KEYWORD1>
  83.             <KEYWORD1>endtask</KEYWORD1>
  84.             <KEYWORD1>for</KEYWORD1>
  85.             <KEYWORD1>force</KEYWORD1>
  86.             <KEYWORD1>forever</KEYWORD1>
  87.             <KEYWORD1>fork</KEYWORD1>
  88.             <KEYWORD1>function</KEYWORD1>
  89.             <KEYWORD1>generate</KEYWORD1>
  90.             <KEYWORD1>if</KEYWORD1>
  91.             <KEYWORD1>initial</KEYWORD1>
  92.             <KEYWORD1>join</KEYWORD1>
  93.             <KEYWORD1>macromodule</KEYWORD1>
  94.             <KEYWORD1>module</KEYWORD1>
  95.             <KEYWORD1>negedge</KEYWORD1>
  96.             <KEYWORD1>posedge</KEYWORD1>
  97.             <KEYWORD1>primitive</KEYWORD1>
  98.             <KEYWORD1>repeat</KEYWORD1>
  99.             <KEYWORD1>release</KEYWORD1>
  100.             <KEYWORD1>specify</KEYWORD1>
  101.             <KEYWORD1>table</KEYWORD1>
  102.             <KEYWORD1>task</KEYWORD1>
  103.             <KEYWORD1>wait</KEYWORD1>
  104.             <KEYWORD1>while</KEYWORD1>
  105.  
  106.             <!-- Compiler Directives -->
  107.             <KEYWORD2>`include</KEYWORD2>
  108.             <KEYWORD2>`define</KEYWORD2>
  109.             <KEYWORD2>`undef</KEYWORD2>
  110.             <KEYWORD2>`ifdef</KEYWORD2>
  111.             <KEYWORD2>`ifndef</KEYWORD2>
  112.             <KEYWORD2>`else</KEYWORD2>
  113.             <KEYWORD2>`elsif</KEYWORD2>
  114.             <KEYWORD2>`endif</KEYWORD2>
  115.             <KEYWORD2>`timescale</KEYWORD2>
  116.             <KEYWORD2>`resetall</KEYWORD2>
  117.             <KEYWORD2>`signed</KEYWORD2>
  118.             <KEYWORD2>`unsigned</KEYWORD2>
  119.             <KEYWORD2>`celldefine</KEYWORD2>
  120.             <KEYWORD2>`endcelldefine</KEYWORD2>
  121.             <KEYWORD2>`default_nettype</KEYWORD2>
  122.             <KEYWORD2>`unconnected_drive</KEYWORD2>
  123.             <KEYWORD2>`nounconnected_drive</KEYWORD2>
  124.             <KEYWORD2>`protect</KEYWORD2>
  125.             <KEYWORD2>`endprotect</KEYWORD2>
  126.             <KEYWORD2>`protected</KEYWORD2>
  127.             <KEYWORD2>`endprotected</KEYWORD2>
  128.             <KEYWORD2>`remove_gatename</KEYWORD2>
  129.             <KEYWORD2>`noremove_gatename</KEYWORD2>
  130.             <KEYWORD2>`remove_netname</KEYWORD2>
  131.             <KEYWORD2>`noremove_netname</KEYWORD2>
  132.             <KEYWORD2>`expand_vectornets</KEYWORD2>
  133.             <KEYWORD2>`noexpand_vectornets</KEYWORD2>
  134.             <KEYWORD2>`autoexpand_vectornets</KEYWORD2>
  135.  
  136.             <!-- Type Declaration Keywords -->
  137.             <KEYWORD3>integer</KEYWORD3>
  138.             <KEYWORD3>reg</KEYWORD3>
  139.             <KEYWORD3>time</KEYWORD3>
  140.             <KEYWORD3>realtime</KEYWORD3>
  141.             <KEYWORD3>defparam</KEYWORD3>
  142.             <KEYWORD3>parameter</KEYWORD3>
  143.             <KEYWORD3>event</KEYWORD3>
  144.             <KEYWORD3>wire</KEYWORD3>
  145.             <KEYWORD3>wand</KEYWORD3>
  146.             <KEYWORD3>wor</KEYWORD3>
  147.             <KEYWORD3>tri</KEYWORD3>
  148.             <KEYWORD3>triand</KEYWORD3>
  149.             <KEYWORD3>trior</KEYWORD3>
  150.             <KEYWORD3>tri0</KEYWORD3>
  151.             <KEYWORD3>tri1</KEYWORD3>
  152.             <KEYWORD3>trireg</KEYWORD3>
  153.             <KEYWORD3>vectored</KEYWORD3>
  154.             <KEYWORD3>scalared</KEYWORD3>
  155.             <KEYWORD3>input</KEYWORD3>
  156.             <KEYWORD3>output</KEYWORD3>
  157.             <KEYWORD3>inout</KEYWORD3>
  158.             <KEYWORD3>logic</KEYWORD3>
  159.  
  160.             <!-- Signal Strengths -->
  161.             <KEYWORD3>supply0</KEYWORD3>
  162.             <KEYWORD3>supply1</KEYWORD3>
  163.             <KEYWORD3>strong0</KEYWORD3>
  164.             <KEYWORD3>strong1</KEYWORD3>
  165.             <KEYWORD3>pull0</KEYWORD3>
  166.             <KEYWORD3>pull1</KEYWORD3>
  167.             <KEYWORD3>weak0</KEYWORD3>
  168.             <KEYWORD3>weak1</KEYWORD3>
  169.             <KEYWORD3>highz0</KEYWORD3>
  170.             <KEYWORD3>highz1</KEYWORD3>
  171.             <KEYWORD3>small</KEYWORD3>
  172.             <KEYWORD3>medium</KEYWORD3>
  173.             <KEYWORD3>large</KEYWORD3>
  174.  
  175.             <!-- System Tasks With No/Optional Arguments -->
  176.             <FUNCTION>$stop</FUNCTION>
  177.             <FUNCTION>$finish</FUNCTION>
  178.             <FUNCTION>$time</FUNCTION>
  179.             <FUNCTION>$stime</FUNCTION>
  180.             <FUNCTION>$realtime</FUNCTION>
  181.             <FUNCTION>$settrace</FUNCTION>
  182.             <FUNCTION>$cleartrace</FUNCTION>
  183.             <FUNCTION>$showscopes</FUNCTION>
  184.             <FUNCTION>$showvars</FUNCTION>
  185.             <FUNCTION>$monitoron</FUNCTION>
  186.             <FUNCTION>$monitoroff</FUNCTION>
  187.             <FUNCTION>$random</FUNCTION>
  188.             <FUNCTION>$printtimescale</FUNCTION>
  189.             <FUNCTION>$timeformat</FUNCTION>
  190.  
  191.             <!-- Built-in primitives -->
  192.             <FUNCTION>and</FUNCTION>
  193.             <FUNCTION>nand</FUNCTION>
  194.             <FUNCTION>or</FUNCTION>
  195.             <FUNCTION>nor</FUNCTION>
  196.             <FUNCTION>xor</FUNCTION>
  197.             <FUNCTION>xnor</FUNCTION>
  198.             <FUNCTION>buf</FUNCTION>
  199.             <FUNCTION>bufif0</FUNCTION>
  200.             <FUNCTION>bufif1</FUNCTION>
  201.             <FUNCTION>not</FUNCTION>
  202.             <FUNCTION>notif0</FUNCTION>
  203.             <FUNCTION>notif1</FUNCTION>
  204.             <FUNCTION>nmos</FUNCTION>
  205.             <FUNCTION>pmos</FUNCTION>
  206.             <FUNCTION>cmos</FUNCTION>
  207.             <FUNCTION>rnmos</FUNCTION>
  208.             <FUNCTION>rpmos</FUNCTION>
  209.             <FUNCTION>rcmos</FUNCTION>
  210.             <FUNCTION>tran</FUNCTION>
  211.             <FUNCTION>tranif0</FUNCTION>
  212.             <FUNCTION>tranif1</FUNCTION>
  213.             <FUNCTION>rtran</FUNCTION>
  214.             <FUNCTION>rtranif0</FUNCTION>
  215.             <FUNCTION>rtranif1</FUNCTION>
  216.             <FUNCTION>pullup</FUNCTION>
  217.             <FUNCTION>pulldown</FUNCTION>
  218.         </KEYWORDS>
  219.     </RULES>
  220. </MODE>
  221.  
  222.